package com.yc.cloud.openai.portal.dto.video.request;

import com.yc.cloud.openai.portal.enums.VideoProvider;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

@Data
public class ImageToVideoRequest {
    @Schema(description = "客户端ID", example = "37dfd6f6b0784d6d8f9526d94e8cc4dc")
    private String clientId;

    @Schema(description = "提供者", example = "1", defaultValue = "1", hidden = true, allowableValues = { "1", "2" })
    @NotNull(message = "提供者不能为空")
    private VideoProvider provider = VideoProvider.COMFY_UI;

    @Schema(description = "提示词", example = "一个美丽的女孩在海边玩耍")
    private String prompt;

    @Schema(description = "宽度", example = "512", defaultValue = "512")
    @Min(value = 100, message = "宽度不能小于100")
    @Max(value = 1280, message = "宽度不能大于1280")
    private Integer width = 512;

    @Schema(description = "高度", example = "512", defaultValue = "512")
    @Min(value = 100, message = "高度不能小于100")
    @Max(value = 1280, message = "高度不能大于1280")
    private Integer height = 512;

    @Schema(description = "时长,单位秒", example = "5", defaultValue = "5")
    @Min(value = 1, message = "时长不能小于1秒")
    @Max(value = 10, message = "时长不能超过10秒")
    private Integer duration = 5;

}
